//package com.qihang.core.config;
//
//import java.util.HashMap;
//import java.util.Map;
//import javax.servlet.DispatcherType;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
//import org.springframework.boot.web.servlet.FilterRegistrationBean;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import com.qihang.common.filter.RepeatableFilter;
//import com.qihang.common.filter.XssFilter;
//import com.qihang.common.utils.StringUtils;
//
///**
// * Filter配置
// *
// * @author qihang
// */
//@Configuration
//public class FilterConfig
//{
//    @Value("${xss.excludes}")
//    private String excludes;
//
//    @Value("${xss.urlPatterns}")
//    private String urlPatterns;
//
//    @SuppressWarnings({ "rawtypes", "unchecked" })
//    @Bean
//    @ConditionalOnProperty(value = "xss.enabled", havingValue = "true")
//    public FilterRegistrationBean xssFilterRegistration()
//    {
//        FilterRegistrationBean registration = new FilterRegistrationBean();
//        registration.setDispatcherTypes(DispatcherType.REQUEST);
//        registration.setFilter(new XssFilter());
//        registration.addUrlPatterns(StringUtils.split(urlPatterns, ","));
//        registration.setName("xssFilter");
//        registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE);
//        Map<String, String> initParameters = new HashMap<String, String>();
//        initParameters.put("excludes", excludes);
//        registration.setInitParameters(initParameters);
//        return registration;
//    }
//
//    @SuppressWarnings({ "rawtypes", "unchecked" })
//    @Bean
//    public FilterRegistrationBean someFilterRegistration()
//    {
//        FilterRegistrationBean registration = new FilterRegistrationBean();
//        registration.setFilter(new RepeatableFilter());
//        registration.addUrlPatterns("/*");
//        registration.setName("repeatableFilter");
//        registration.setOrder(FilterRegistrationBean.LOWEST_PRECEDENCE);
//        return registration;
//    }
//
//}
